The attitude on an agile spacecraft or satellite is often maintained and adjusted with a control momentum gyro array because those devices provide high torque and torque amplification. A typical CMG is a rotating mass suspend on a gimbal with an actuator to rotate it on the gimbal access, producing a torque (reaction) on the normal to the gimbal axis that rotates the satellite. An array (n&gt;3 CMGs) is often used, allowing spherical orientation control. Each CMG has its angular momentum (h) constrained to the momentum plane swept out by the spin axis as it is gimbaled. For a constant speed CMG the angular momentum is constant and the value is constrained to a circle in the momentum plane. The torque (Q) in that plane is Q=.omega..times.h, where .omega. is the angular rate applied to the gimbal input and h is the stored angular momentum for the gyro (a function of the gyro moment of inertia J and spin rate .OMEGA., h=J.OMEGA.). In the array, the CMGs are located, relative to each other so that the momentum planes are at different angles and by creating different combinations of torques, the satellite can be reoriented.
When a space craft is maneuvered or reoriented in this way, for example to pan a camera between two objects on the surface of the earth as shown in FIG. 2, the CMGs are gimbaled so that a jerk limited acceleration constrained trajectory or some other command shaping function is selected to take the satellite from one orientation to another while minimizing the energy imparted to the bending modes of the satellite. A so-called pseudo inverse control law is used to produce the gimbal rates for each CMG so that the required torque vector is produced. The CMG array angular momentum H is a function or the individual CMG gimbal angles .delta.. The relationship of .delta. to H is defined by the Jacobian A. ##EQU1## The A matrix is a 3 by n matrix, where n is the number of CMGs in the array. The controller for the satellite will generate a desired satellite torque Q to bring the satellite to the correct attitude. The rate of change of angular momentum is torque. The Moore-Penrose pseudo inverse is then used to calculate the desired rate of change of the gimbal angles given the desired satellite torque. .delta.=A.sup.T (AA.sup.T).sup.-1 Q
The classical way to control a satellite is to take the cross product of the present orientation .THETA..sub.1 and the desired orientation .THETA..sub.2 resulting in the direction of rotation for an eigin axis rotation. The resulting locus of the orientation ("Old" in FIG. 2) falls along a great circle line on the unit sphere with the satellite at the center.
If all the CMG angular momentum vectors are simultaneously aligned such that the tangents to the momentum circle at the location of the angular momentum vector fall in one plane, all the torques are confined to that plane and no torque will be produced in a perpendicular plane. This produces a "singularity", point of unstable torque control. The singularity occurs when the rank of the A matrix drops from 3 to 2. This produces the singularity in the pseudo inverse. The conventional approach for avoiding the singularity is to constrain the combined CMG momentum of the array--so that the pseudo inverse never produces the singularity. But this means that maximum satellite turning angular momentum is significantly limited to a value below the mathematical sum of the angular momentum from the CMGs, since the angular momentum is the integral of the CMG torque over time, the satellite reorientation takes place more slowly in those directions that produce the singularity. In a point and track satellite system, where an object or location, e.g., on the earth-surface, is viewed and the satellite is then pointed to a new location, those limits on available angular momentum increase the reorientation or pointing time because the possible outputs from the pseudo inverse, which define the reorientation locus of points along the great circle between the two points, must be limited to avoid the singularity as the orientation follows the great circle path.